Not a good idea. This would prevent the system from crashing, but probably hides some other serious problem with the input data.
Here is a complete program that uses the factorial()
//FactorialTester.java // class FactorialCalc { int fact( int N ) { if ( N == 0 ) return 1; else return N * fact( N-1 ) ; } } class FactorialTester { public static void main ( String[] args) { int argument = 10; FactorialCalc f = new FactorialCalc(); int result = f.fact( argument ); System.out.println("Factorial(" + argument + ") is " + result ); } }
Here is a run of the program:
C:\JavaNotes\Recursion03>javac FactorialTester.java C:\JavaNotes\Recursion03>java FactorialTester Factorial(10) is 3628800